<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<script type="text/javascript">
    //这是注释
    console.log('Hello world')
    /*
    对于js来说,他没有基本数据类型  定义变量的时候
    也不用关心数据类型 写数字的时候,也不用关心
    超出范围 定义变量 统一使用 关键字var
     */
    //输出到控制台 (打开浏览器,console)
    //js非常的随意,每一行语句后 写分号也行,不写分号也行
    var a = 3
    var b = 3.14
    var c = -1280931230891230981230980
    console.log(a);
    console.log(b);
    console.log(c);
    console.log(a / 2);

/*
js是一门弱类型语言, 在定义变量的时候,是不需要指定其数据类型的
js引擎会根据这个 变量的值  来确定该变量的数据类型 弱类型不代表
没有类型,只不过我们不需要写出来
对我们来说 和强类型 语言的区别 最大体现在调试上 因为在写代码的
时候,不需要声明类型,那么idea没办法做类型检查  所以很多错误只能在
运行时暴漏出来
 */
    console.log(typeof a);
    console.log(typeof b);
    console.log(typeof c);
// js中 单引号 也是字符串,双引号  也是字符串
var  d="'hello'";
var c="'world'"
    console.log(d);
    console.log(c);
    console.log(typeof c);
    console.log(typeof d);
    console.log('--------')
    /*
    在js中一个变量的数据类型,可以随着程序的运行 任意的改变,这种语言叫动弹类型 语言
    动态类型一时爽  代码重构火葬场
     */
    d=3.14
    console.log(d);
    console.log(typeof d);
    var e=true
    e.console=true;
    console.log(e);
    console.log(typeof e);
    //js中如果一个变量,没有数据,没有值
    //他是undefine类型,即没定义数据类型
    var  f;
    console.log(typeof f);
    //如果给了一个初值 ,但是初值是null
    //那么数据类型是object
    var g=null
    console.log(typeof g)
    //字符串拼接
    console.log(a + b + c);
    console.log(z);
</script>

</body>
</html>